package org.ehe.finance.voucher.domain.bo;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.*;
import lombok.Data;

/**
 * 凭证类别修改Bo
 * @author :zhangnn
 * @className :VoucherTypeUpdateBo
 * @description: TODO
 * @date 2025-08-22 17:45:40
 */
@Data
public class VoucherTypeUpdateBo {
    @Schema(description = "ID")
    @NotNull(message = "ID不能为空")
    private Long id;

    @Schema(description = "凭证类别名称")
    @NotBlank(message = "凭证类别名称不能为空")
    @Size(max = 50, message = "凭证类别名称长度不能超过50个字符")
    private String typeName;

    @Schema(description = "凭证字")
    @NotBlank(message = "凭证字不能为空")
    @Size(max = 10, message = "凭证字长度不能超过10个字符")
    private String prefix;

    @Schema(description = "凭证号长度")
    @NotNull(message = "凭证号长度不能为空")
    @Min(value = 3, message = "凭证号长度不能小于3")
    @Max(value = 10, message = "凭证号长度不能大于10")
    private Integer numberLength;

    @Schema(description = "状态:0禁用,1启用")
    @NotNull(message = "状态不能为空")
    private Integer status;

    @Schema(description = "备注")
    @Size(max = 500, message = "备注长度不能超过500个字符")
    private String remark;
}
